Recently, in information processors such as digital TVs, mobile information terminals and cellular phones, applications described in a specific format such as Java programs, HTML contents or the like are actively executed. Software for executing such an application or reproducing data will be referred to as a format engine. A format engine is, for example, Java middleware for executing the above-mentioned Java programs or a browser for displaying HTML contents. In addition to such a format engine, a format engine for reproducing PDF data, music data or the like which are today executed on personal computers will be executed in the digital TVs mentioned above.
In general, one format engine is stored in an information processor such as the above-mentioned digital TV. FIG. 94 is a diagram showing one structure example of a conventional digital broadcast receiver. This digital broadcast receiver is for executing and managing an application (Java program) included in the broadcast data. In FIG. 94, a digital broadcast receiver 9402 is connected to a TV monitor 9401. A digital broadcast receiver 9402 includes a display manager 9411, an application manager 9412, a rule 9414, and a signal monitor 9413.
In FIG. 94, the signal monitor 9413 in the digital broadcast receiver 9402 receives a broadcast data stream. The signal monitor 9413 determines whether an application is included in the broadcast data stream or not, and outputs signal data indicating whether there is an application or not to the application manager 9412. Based on the input signal data, the application manager 9412 determines whether an application is included in the broadcast data stream or not. When an application is included in the broadcast data stream, the application manager 9412 reads and executes the application. When the application is executed, display information which is to be displayed on a TV monitor is provided to a display manager 9411 as a display context. The display manager 9411 provides appropriate display information to the TV monitor 9401. The application manager 9412 operates in accordance with the rule 9414, and transits the state of each application to either one of a loaded state, a paused state, an active state, and a deleted state. The rule is, for example, “placing only one application to an active state at a time” or “allowing only one application to be displayed at a time”. The digital broadcast receiver 9402 can manage a plurality of applications by using such a rule.
For the case where an information processor such as a digital TV, a mobile information terminal, a cellular phone or the like includes a plurality of format engines, technologies for managing the plurality of format engines have been studied. As compared to a CPU, an information processor such as a digital TV, a mobile information terminal, a cellular phone or the like has limited resources usable for executing format engines. A resource is hardware used by a format engine; for example, a memory. For example, resources possessed by a digital TV include a tuner for receiving broadcast waves and decoding data, a decoder for decoding video or audio data included in the broadcast waves, a network interface for connecting the digital TV to the Internet, and the like in addition to a memory. For executing a format engine, a resource usable by the format engine to be executed needs to be obtained. Therefore, in an information processor having limited resources as described above, execution of each format engine is managed. For example, some types of digital TVs switch format engines to be executed. Hereinafter, a technology for managing a plurality of format engines in a conventional digital TV will be described.
FIG. 95 is a diagram showing one structure example of a middleware switching device used in a conventional digital TV. This middleware switching device switches a plurality of pieces of middleware (format engines) to be executed. In FIG. 95, the middleware switching device includes a middleware determination section 9501, a middleware reading section 9502, a middleware execution section 9503, and a middleware storing section 9504.
In FIG. 95, the middleware storing section 9504 stores first through n'th middleware. The middleware determination section 9501 determines the middleware to be executed among the first through n'th middleware. The middleware reading section 9502 reads the middleware determined by the middleware determination section 9501 from the middleware storing section 9504. The middleware execution section 9503 executes the middleware read by the middleware reading section 9502. With the above-described structure, the first through n'th middleware are switched to be executed. Thus, the device shown in FIG. 95 allows a plurality of pieces of middleware to coexist in one digital TV.